Publisher:發布者,負責發送數據。
Publisher 發布一系列值或完成事件。它可以是多種類型的數據源,例如專題數據、一連串事件、或者網絡請求的結果。
常用的Publisher包括 Just, Future, PassthroughSubject, 和 CurrentValueSubject。
例如,Just Publisher 可以創建一個單個值的Publisher:
let publisher = Just("Hello, Combine!")
Subscriber:訂閱者,負責接收和處理數據。
sink 和 assign,用於簡化常見任務。sink方法來創建:
let subscriber = publisher.sink { value in
print(value)
}
Operators:運算符,用於轉換和操作數據流。
map, filter, combineLatest, merge, flatMap 等。map 運算符來轉換Publisher數據:
let transformedPublisher = publisher.map { value in
return value.uppercased()
}